
/*
 * @Descripttion: your project
 * @version: 1.0
 * @Author: hongweixun
 * @Date: 2022-07-07 08:24:12
 * @LastEditors: hongweixun
 * @LastEditTime: 2022-07-19 17:14:03
 */
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
// 此util.js工具类封装全局调用的方法
export default {
  // 封装post请求params传值的方法,当值有多个时调用
  toParams (list) {
    var params = new URLSearchParams()
    for (var key in list) {
      // console.log(key)
      params.append(key, list[key])
    }
    return params
  },
  // 封装post请求params传值的方法，当值为单个时调用
  // name为单个值对应的key值
  // value为单个key值对应的value值
  toParamSemi (name, value) {
    var params = new URLSearchParams()
    params.append(name, value)
    return params
  },
  // 导出execlbiaoge
  exportExcel (domId, fileName) {
    /* 转换成excel时，使用原始的格式，解决数字列自动转科学计数法问题 */
    const xlsxParam = { raw: true }
    const wb = XLSX.utils.table_to_book(document.querySelector('#' + domId), xlsxParam)
    const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
    try {
      FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), fileName + '.xlsx')
    } catch (e) {
      if (typeof console !== 'undefined') {
        console.log(e, wbout)
      }
    }
    return wbout
  },
  // 获取当前时间（年月日 星期 时分秒）
  getNowTime (times) {
    var date = new Date()
    if (times) {
      date = new Date(times)
    }
    // 年 getFullYear()：四位数字返回年份
    var year = date.getFullYear() // getFullYear()代替getYear()
    // 月 getMonth()：0 ~ 11
    var month = date.getMonth() + 1
    // 日 getDate()：(1 ~ 31)
    var day = date.getDate()
    // 时 getHours()：(0 ~ 23)
    var hour = date.getHours()
    // 分 getMinutes()： (0 ~ 59)
    var minute = date.getMinutes()
    // 秒 getSeconds()：(0 ~ 59)
    var second = date.getSeconds()
    // 星期
    var week = date.getDay()
    var time = year + '年' + this.addZero(month) + '月' + this.addZero(day) + '日' + ' ' + this.weeks(week) + ' ' + this.addZero(hour) + ':' + this.addZero(minute) + ':' + this.addZero(second)
    return time
  },
  // 小于10的拼接上0字符串
  addZero (s) {
    return s < 10 ? ('0' + s) : s
  },
  weeks (s) {
    if (s === 0) {
      return '星期日'
    } else if (s === 1) {
      return '星期一'
    } else if (s === 2) {
      return '星期二'
    } else if (s === 3) {
      return '星期三'
    } else if (s === 4) {
      return '星期四'
    } else if (s === 5) {
      return '星期五'
    } else {
      return '星期六'
    }
  }
}
